Data storage devices and other memories are commonly used in computers and as computer peripherals. All of these devices are prone to various data errors. Various methods are used to detect and correct data errors. Cyclic redundancy checks (CRC) may be used to detect errors, and various error correction codes may be used to correct errors. Single bit errors are relatively easy to detect and correct. Fortunately, single bit errors are more common than larger errors. However, larger errors do occur, and in order to detect and correct large errors, typical techniques consume memory, slow down the data storage device, and require additional circuitry within a media controller.